package com.hbue.springboot.service.impl;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.hbue.springboot.mapper.WaterCountStatMapper;
import com.hbue.springboot.service.WaterCountStatService;
import com.hbue.springboot.vo.QueryParamsVo;
import com.hbue.springboot.vo.WaterCountStatVo;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;

/**
 * 送水统计模块业务实现类
 */
@Slf4j
@Service
@RequiredArgsConstructor
public class WaterCountStatServiceImpl extends
        ServiceImpl<WaterCountStatMapper, WaterCountStatVo> implements WaterCountStatService {

    private final WaterCountStatMapper waterCountStatMapper;

    /**
     * 统计每个送水工为那些客户送水以及送水数量
     * 步骤：
     * 1 创建分页对象并注入当前页码和每页数量
     * 2 调用映射器对象waterCountStatMapper的statWorkerSendWaterCount方法统计每个送水工的送水数量
     * @param vo 前端传入的查询参数
     * @return 分页对象
     */
    @Override
    public IPage<WaterCountStatVo> listWorkerSendWaterCount(QueryParamsVo vo) {

        IPage<WaterCountStatVo> page = new Page<>(vo.getPageNum(),vo.getPageSize());
        page = waterCountStatMapper.statWorkerSendWaterCount(page);
        return page;
    }
}

